﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using MaquinaJMG.GUI.Contrato;
using Logica.Comandos;
using Datos.Entidades;
using Logica.FabricaLogica;
using Datos.Entidades.FabricaEntidades;
//using Subgurim.Controles;

namespace MaquinaJMG.GUI.Presentador
{
    public class PresentadorModificarCategoria
    {

        private IContratoModificarCategoria _vista;

        
        /// <summary>
        /// Constructor que inicializa el atributo vista
        /// </summary>
        /// <param name="vista">Objeto de tipo Interfaz</param>
         public PresentadorModificarCategoria(IContratoModificarCategoria vista)
        {
            
            this._vista = vista;
         
        }
        Entidad laCategoria = new Entidad();


        public void llenarCampos()
    {

        Comando comando = FabricaComandoCategoria.CrearComandoBuscarCategoria(int.Parse(_vista.Idc));
        comando.Ejecutar();
        laCategoria = comando.Entidad;
        _vista.id.Text = (laCategoria as Categoria).Id_Categoria.ToString();
        _vista.nombre.Text = (laCategoria as Categoria).NombreCategoria;
        
        
        if ((laCategoria as Categoria).Status==1)
            _vista.status.SelectedIndex = 0;
        else
            _vista.status.SelectedIndex = 1;
        
        if ((laCategoria as Categoria).TipoCategoria == 1)
            _vista.tipo.SelectedIndex = 0;
        else
            _vista.tipo.SelectedIndex = 1;
    }




        


        public string ClickAceptar()
        {
            
            Entidad categoria = FabricaEntidades.ObtenerCategoria();
            (categoria as Categoria).Id_Categoria = int.Parse(_vista.id.Text);
            (categoria as Categoria).NombreCategoria = _vista.nombre.Text;
            if(_vista.status.SelectedIndex==0)
                (categoria as Categoria).Status =1 ;
            else
                (categoria as Categoria).Status = 0;

            if (_vista.tipo.SelectedIndex == 0)
                (categoria as Categoria).TipoCategoria =1 ;
            else
                (categoria as Categoria).TipoCategoria = 0;



            Comando comando = FabricaComandoCategoria.CrearComandoModificarCategoria(categoria);
            comando.Ejecutar();
            if (!comando.Flag)
                return "No se ha podido modificar la categoria!";
            else

                return "La Categoria fue modificada con éxito!";
        }

        

    }
}